home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet multimedia / Linux LiveCD / GeeXboX 1.0 EN / geexbox-1.0-en.i386.iso / GEEXBOX / usr / share / alsa / alsa.conf
Encoding:
Text File  |  2006-06-21  |  7.4 KB  |  550 lines

  1. #
  2. #  ALSA library configuration file
  3. #
  4.  
  5. # pre-load the configuration files
  6.  
  7. @hooks [
  8.     {
  9.         func load
  10.         files [
  11.             "/etc/asound.conf"
  12.  
  13.         ]
  14.         errors false
  15.     }
  16. ]
  17.  
  18. # load card-specific configuration files (on request)
  19.  
  20. cards.@hooks [
  21.     {
  22.         func load
  23.         files [
  24.             {
  25.                 @func concat
  26.                 strings [
  27.                     { @func datadir }
  28.                     "/cards/aliases.conf"
  29.                 ]
  30.             }
  31.         ]
  32.     }
  33.     {
  34.         func load_for_all_cards
  35.         files [
  36.             {
  37.                 @func concat
  38.                 strings [
  39.                     { @func datadir }
  40.                     "/cards/"
  41.                     { @func private_string }
  42.                     ".conf"
  43.                 ]
  44.             }
  45.         ]
  46.         errors false
  47.     }
  48. ]
  49.  
  50. # defaults
  51.  
  52. defaults.ctl.card 0
  53. defaults.pcm.card 0
  54. defaults.pcm.device 0
  55. defaults.pcm.subdevice -1
  56. defaults.pcm.nonblock 1
  57. defaults.pcm.ipc_key 5678293
  58. defaults.pcm.ipc_gid audio
  59. defaults.pcm.ipc_perm 0660
  60. defaults.pcm.dmix_max_periods 0
  61. defaults.pcm.front.card defaults.pcm.card
  62. defaults.pcm.front.device defaults.pcm.device
  63. defaults.pcm.rear.card defaults.pcm.card
  64. defaults.pcm.rear.device defaults.pcm.device
  65. defaults.pcm.center_lfe.card defaults.pcm.card
  66. defaults.pcm.center_lfe.device defaults.pcm.device
  67. defaults.pcm.side.card defaults.pcm.card
  68. defaults.pcm.side.device defaults.pcm.device
  69. defaults.pcm.surround40.card defaults.pcm.card
  70. defaults.pcm.surround40.device defaults.pcm.device
  71. defaults.pcm.surround41.card defaults.pcm.card
  72. defaults.pcm.surround41.device defaults.pcm.device
  73. defaults.pcm.surround50.card defaults.pcm.card
  74. defaults.pcm.surround50.device defaults.pcm.device
  75. defaults.pcm.surround51.card defaults.pcm.card
  76. defaults.pcm.surround51.device defaults.pcm.device
  77. defaults.pcm.surround71.card defaults.pcm.card
  78. defaults.pcm.surround71.device defaults.pcm.device
  79. defaults.pcm.iec958.card defaults.pcm.card
  80. defaults.pcm.iec958.device defaults.pcm.device
  81. defaults.pcm.modem.card defaults.pcm.card
  82. defaults.pcm.modem.device defaults.pcm.device
  83. defaults.rawmidi.card 0
  84. defaults.rawmidi.device 0
  85. defaults.rawmidi.subdevice -1
  86. defaults.hwdep.card 0
  87. defaults.hwdep.device 0
  88. defaults.timer.class 2
  89. defaults.timer.sclass 0
  90. defaults.timer.card 0
  91. defaults.timer.device 0
  92. defaults.timer.subdevice 0
  93.  
  94. #
  95. #  PCM interface
  96. #
  97.  
  98. pcm.hw {
  99.     @args [ CARD DEV SUBDEV ]
  100.     @args.CARD {
  101.         type string
  102.         default {
  103.             @func getenv
  104.             vars [
  105.                 ALSA_PCM_CARD
  106.                 ALSA_CARD
  107.             ]
  108.             default {
  109.                 @func refer
  110.                 name defaults.pcm.card
  111.             }
  112.         }
  113.     }
  114.     @args.DEV {
  115.         type integer
  116.         default {
  117.             @func igetenv
  118.             vars [
  119.                 ALSA_PCM_DEVICE
  120.             ]
  121.             default {
  122.                 @func refer
  123.                 name defaults.pcm.device
  124.             }
  125.         }
  126.     }
  127.     @args.SUBDEV {
  128.         type integer
  129.         default {
  130.             @func refer
  131.             name defaults.pcm.subdevice
  132.         }
  133.     }        
  134.     type hw
  135.     card $CARD
  136.     device $DEV
  137.     subdevice $SUBDEV
  138. }
  139.  
  140. pcm.plughw {
  141.     @args [ CARD DEV SUBDEV ]
  142.     @args.CARD {
  143.         type string
  144.         default {
  145.             @func getenv
  146.             vars [
  147.                 ALSA_PCM_CARD
  148.                 ALSA_CARD
  149.             ]
  150.             default {
  151.                 @func refer
  152.                 name defaults.pcm.card
  153.             }
  154.         }
  155.     }
  156.     @args.DEV {
  157.         type integer
  158.         default {
  159.             @func igetenv
  160.             vars [
  161.                 ALSA_PCM_DEVICE
  162.             ]
  163.             default {
  164.                 @func refer
  165.                 name defaults.pcm.device
  166.             }
  167.         }
  168.     }
  169.     @args.SUBDEV {
  170.         type integer
  171.         default {
  172.             @func refer
  173.             name defaults.pcm.subdevice
  174.         }
  175.     }        
  176.     type plug
  177.     slave.pcm {
  178.         type hw
  179.         card $CARD
  180.         device $DEV
  181.         subdevice $SUBDEV
  182.     }
  183. }
  184.  
  185. pcm.plug {
  186.     @args [ SLAVE ]
  187.     @args.SLAVE {
  188.         type string
  189.     }
  190.     type plug
  191.     slave.pcm $SLAVE
  192. }
  193.  
  194. pcm.shm {
  195.     @args [ SOCKET PCM ]
  196.     @args.SOCKET {
  197.         type string
  198.     }
  199.     @args.PCM {
  200.         type string
  201.     }
  202.     type shm
  203.     server $SOCKET
  204.     pcm $PCM
  205. }
  206.  
  207. pcm.tee {
  208.     @args [ SLAVE FILE FORMAT ]
  209.     @args.SLAVE {
  210.         type string
  211.     }
  212.     @args.FILE {
  213.         type string
  214.     }
  215.     @args.FORMAT {
  216.         type string
  217.         default raw
  218.     }
  219.     type file
  220.     slave.pcm $SLAVE
  221.     file $FILE
  222.     format $FORMAT
  223. }
  224.  
  225. pcm.file {
  226.     @args [ FILE FORMAT ]
  227.     @args.FILE {
  228.         type string
  229.     }
  230.     @args.FORMAT {
  231.         type string
  232.         default raw
  233.     }
  234.     type file
  235.     slave.pcm null
  236.     file $FILE
  237.     format $FORMAT
  238. }
  239.  
  240. pcm.null {
  241.     type null
  242. }
  243.  
  244. # redirect to load-on-demand extended pcm definitions
  245. pcm.cards cards.pcm
  246. # some links for easy use
  247. pcm.front cards.pcm.front
  248. pcm.rear cards.pcm.rear
  249. pcm.center_lfe cards.pcm.center_lfe
  250. pcm.side cards.pcm.side
  251. pcm.surround40 cards.pcm.surround40
  252. pcm.surround41 cards.pcm.surround41
  253. pcm.surround50 cards.pcm.surround50
  254. pcm.surround51 cards.pcm.surround51
  255. pcm.surround71 cards.pcm.surround71
  256. pcm.iec958 cards.pcm.iec958
  257. pcm.spdif cards.pcm.iec958
  258. pcm.modem cards.pcm.modem
  259. pcm.phoneline cards.pcm.phoneline
  260.  
  261. pcm.default cards.pcm.default
  262. pcm.dmix cards.pcm.dmix
  263. pcm.dsnoop cards.pcm.dsnoop
  264.  
  265. #
  266. #  Control interface
  267. #
  268.     
  269. ctl.hw {
  270.     @args[ CARD ]
  271.     @args.CARD {
  272.         type string
  273.         default {
  274.             @func getenv
  275.             vars [
  276.                 ALSA_CTL_CARD
  277.                 ALSA_CARD
  278.             ]
  279.             default {
  280.                 @func refer
  281.                 name defaults.ctl.card
  282.             }
  283.         }
  284.     }
  285.     type hw
  286.     card $CARD
  287. }
  288.  
  289. ctl.shm {
  290.     @args [ SOCKET CTL ]
  291.     @args.SOCKET {
  292.         type string
  293.     }
  294.     @args.CTL {
  295.         type string
  296.     }
  297.     type shm
  298.     server $SOCKET
  299.     ctl $CTL
  300. }
  301.  
  302. ctl.default {
  303.     type hw
  304.     card {
  305.         @func getenv
  306.         vars [
  307.             ALSA_CTL_CARD
  308.             ALSA_CARD
  309.         ]
  310.         default {
  311.             @func refer
  312.             name defaults.ctl.card
  313.         }
  314.     }
  315. }
  316.  
  317. #
  318. #  RawMidi interface
  319. #
  320.  
  321. rawmidi.hw {
  322.     @args [ CARD DEV SUBDEV ]
  323.     @args.CARD {
  324.         type string
  325.         default {
  326.             @func getenv
  327.             vars [
  328.                 ALSA_RAWMIDI_CARD
  329.                 ALSA_CARD
  330.             ]
  331.             default {
  332.                 @func refer
  333.                 name defaults.rawmidi.card
  334.             }
  335.         }
  336.     }
  337.     @args.DEV {
  338.         type integer
  339.         default {
  340.             @func igetenv
  341.             vars [
  342.                 ALSA_RAWMIDI_DEVICE
  343.             ]
  344.             default {
  345.                 @func refer
  346.                 name defaults.rawmidi.device
  347.             }
  348.         }
  349.     }
  350.     @args.SUBDEV {
  351.         type integer
  352.         default -1
  353.     }
  354.     type hw
  355.     card $CARD
  356.     device $DEV
  357.     subdevice $SUBDEV
  358. }
  359.  
  360. rawmidi.default {
  361.     type hw
  362.     card {
  363.         @func getenv
  364.         vars [
  365.             ALSA_RAWMIDI_CARD
  366.             ALSA_CARD
  367.         ]
  368.         default {
  369.             @func refer
  370.             name defaults.rawmidi.card
  371.         }
  372.     }
  373.     device {
  374.         @func igetenv
  375.         vars [
  376.             ALSA_RAWMIDI_DEVICE
  377.         ]
  378.         default {
  379.             @func refer
  380.             name defaults.rawmidi.device
  381.         }
  382.     }
  383. }
  384.  
  385. rawmidi.virtual {
  386.     @args [ MERGE ]
  387.     @args.MERGE {
  388.         type string
  389.         default 1
  390.     }
  391.     type virtual
  392.     merge $MERGE
  393. }
  394.  
  395. #
  396. #  Sequencer interface
  397. #
  398.  
  399. seq.default {
  400.     type hw
  401. }
  402.  
  403. seq.hw {
  404.     type hw
  405. }
  406.  
  407. #
  408. #  HwDep interface
  409. #
  410.  
  411. hwdep.hw {
  412.     @args [ CARD DEV ]
  413.     @args.CARD {
  414.         type string
  415.         default {
  416.             @func getenv
  417.             vars [
  418.                 ALSA_HWDEP_CARD
  419.                 ALSA_CARD
  420.             ]
  421.             default {
  422.                 @func refer
  423.                 name defaults.hwdep.card
  424.             }
  425.         }
  426.     }
  427.     @args.DEV {
  428.         type integer
  429.         default {
  430.             @func igetenv
  431.             vars [
  432.                 ALSA_HWDEP_DEVICE
  433.             ]
  434.             default {
  435.                 @func refer
  436.                 name defaults.hwdep.device
  437.             }
  438.         }
  439.     }
  440.     type hw
  441.     card $CARD
  442.     device $DEV
  443. }
  444.  
  445. hwdep.default {
  446.     type hw
  447.     card {
  448.         @func getenv
  449.         vars [
  450.             ALSA_HWDEP_CARD
  451.             ALSA_CARD
  452.         ]
  453.         default {
  454.             @func refer
  455.             name defaults.hwdep.card
  456.         }
  457.     }
  458.     device {
  459.         @func igetenv
  460.         vars [
  461.             ALSA_HWDEP_DEVICE
  462.         ]
  463.         default {
  464.             @func refer
  465.             name defaults.hwdep.device
  466.         }
  467.     }
  468. }
  469.  
  470. #
  471. #  Timer interface
  472. #
  473.  
  474. timer_query.hw {
  475.     type hw
  476. }
  477.  
  478. timer_query.default {
  479.     type hw
  480. }
  481.  
  482. timer.hw {
  483.     @args [ CLASS SCLASS CARD DEV SUBDEV ]
  484.     @args.CLASS {
  485.         type integer
  486.         default {
  487.             @func refer
  488.             name defaults.timer.class
  489.         }
  490.     }
  491.     @args.SCLASS {
  492.         type integer
  493.         default {
  494.             @func refer
  495.             name defaults.timer.sclass
  496.         }
  497.     }
  498.     @args.CARD {
  499.         type string
  500.         default {
  501.             @func refer
  502.             name defaults.timer.card
  503.         }
  504.     }
  505.     @args.DEV {
  506.         type integer
  507.         default {
  508.             @func refer
  509.             name defaults.timer.device
  510.         }
  511.     }
  512.     @args.SUBDEV {
  513.         type integer
  514.         default {
  515.             @func refer
  516.             name defaults.timer.subdevice
  517.         }
  518.     }
  519.     type hw
  520.     class $CLASS
  521.     sclass $SCLASS
  522.     card $CARD
  523.     device $DEV
  524.     subdevice $SUBDEV
  525. }
  526.  
  527. timer.default {
  528.     type hw
  529.     class {
  530.         @func refer
  531.         name defaults.timer.class
  532.     }
  533.     sclass {
  534.         @func refer
  535.         name defaults.timer.sclass
  536.     }
  537.     card {
  538.         @func refer
  539.         name defaults.timer.card
  540.     }
  541.     device {
  542.         @func refer
  543.         name defaults.timer.device
  544.     }
  545.     subdevice {
  546.         @func refer
  547.         name defaults.timer.subdevice
  548.     }
  549. }
  550.